iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

資料庫二年級:練習AdventureWorks範例資料庫系列 第 11

[第十一天]執行計畫->效能

  • 分享至 

  • xImage
  •  

今天要接續
跟大家一起討論資料庫的「效能」!

昨天我們說到「效能」是非常重要的工作,
而效能不好的話可能會有很嚴重的後果呢,
我們一起來看看吧!

效能不好的話...

效能不好的指令,
除了浪費時間與資源外,
更麻煩的是會讓程式TimeOut!

為了避免上班收到許多「執行失敗」的通知,
讓上班心情不美麗,
就要時時把「效能」謹記在心~

當我們開始可以為同一個結果
想出百百種的執行語法時,
要怎麼知道哪個語法效能最好呢?

從「執行計畫」一窺端倪

執行計畫有兩種:

  1. 顯示估計執行計畫
  2. 包括實際執行計畫

https://ithelp.ithome.com.tw/upload/images/20220910/20152049ptLSbupJoy.jpg

以昨天的題目為例,
雖然我們知道理論上
JOIN的效能會比子查詢好,
但在我們的例子裡兩者效能相當。

原因在於資料量不夠大。
甚至我將"GROUP BY拿掉"
還會發生子查詢效能更好一些的結果:
https://ithelp.ithome.com.tw/upload/images/20220910/20152049g1LzTTv2Fl.jpg

儘管這樣,
還是建議大家使用JOIN取代子查詢。
原因是:多數的情況,資料量只會越來越大,
當資料筆數越來越多,
就會產生效能上的差異。

明天我們會再簡單說一下效能相關的話題,
再來就要前進下一個主題啦~


上一篇
[第十天]子查詢(完)&效能初探
下一篇
[第十二天]書:SQL SERVER效能調教
系列文
資料庫二年級:練習AdventureWorks範例資料庫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言